From 26ced6abad9fab0dbfd932a00d1ca5f32f479e0e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 2 Jun 2014 17:38:46 +0200 Subject: [PATCH] widget: Only deny a sequence if it was previously claimed Before this change, a sequence being claimed deep in the event propagation chain would make the sequence go denied on every ancestor, regardless of previous state. To make things more consistent, only deny the sequence if it was previously claimed, so the behavior is the same for gesture groups within the widget than for those outside the widget. The gestures testsuite has been updated to reflect this new behavior. --- gtk/gtkwidget.c | 3 +++ testsuite/gtk/gestures.c | 8 -------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 6453059bbc..8b90c3c831 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4287,6 +4287,9 @@ _gtk_widget_set_sequence_state_internal (GtkWidget *widget, else continue; } + else if (!group && + gtk_gesture_get_sequence_state (gesture, sequence) != GTK_EVENT_SEQUENCE_CLAIMED) + continue; g_signal_handler_block (data->controller, data->sequence_state_changed_id); retval = gtk_gesture_set_sequence_state (gesture, seq, gesture_state); diff --git a/testsuite/gtk/gestures.c b/testsuite/gtk/gestures.c index 0bf3d023f7..e1efddc363 100644 --- a/testsuite/gtk/gestures.c +++ b/testsuite/gtk/gestures.c @@ -347,8 +347,6 @@ test_claim_capture (void) "capture a1, " "capture b1, " "capture c1, " - "b1 state denied, " - "a1 state denied, " "c1 state claimed"); g_string_free (str, TRUE); @@ -393,9 +391,6 @@ test_claim_target (void) "capture b1, " "capture c1, " "target c2, " - /* "c1 state denied, " ? */ - "b1 state denied, " - "a1 state denied, " "c2 state claimed"); g_string_free (str, TRUE); @@ -445,7 +440,6 @@ test_claim_bubble (void) "c3 cancelled, " "c2 cancelled, " "c1 cancelled, " - "a1 state denied, " "b3 state claimed" ); @@ -494,8 +488,6 @@ test_group (void) "capture b1, " "capture c1, " "target c3, " - "b1 state denied, " - "a1 state denied, " "c3 state claimed, " "c2 state claimed, " "target c2"); -- 2.30.2